ucs2_to_utf8 is called tons of times, and allocates the returned buffer.  add ucs2_to_utf8_buf so the caller can specify the buffer.  it will either return the buffer pointer or null if the string wouldn't fit.  fix ToNumber (the biggest cause of high ucs2_to_utf8 calls) to use ucs2_to_utf8_buf
close the fd if fstat failed
add a finalize method so we stop leaking the args array.
fix typo
spec.name is null for exports without 'as Foo'.  use spec.id in this case
guard against read not filling up the buffer with file contents
unicode is hard
fix crash when finalizing LOS object
if EJS_LOG_FILE env var is set, use that as the log file path instead of logging to the console