Lock options on Compiler classes and make them read-only.

Rework API to work better with single-inheritance.
Replace uses of tracuer.compile with node api.js compile.

Change the default for option moduleName to false
I'm tempted to suggest using a helper function to do this so that we do not have to repeat `enumerable: true` all over.