Use a type declaration's name in asString

To avoid printing out the long structural type declaration when pattern
assertions fail, a type declaration will now always stringify to the
given name rather than deferring to the pattern.
Correct obsoleted parts of FFI lookup in runtime

Parts of the lookup function in the runtime no longer worked due to
erroneous changes and the adjustment of method name uglification. This
change ensures that properties and assignments to regular JavaScript
objects work as expected, and now returns actual Grace methods.
Handle undefined return values and import errors

JavaScript method definitions that returned undefined were a common
source of errors, so now methods are required to return a value other
than undefined or null. Importing JavaScript code now distinguishes
between an unresolved module and an error while loading the module.
SQUASH Confidential