Improved DOM API, Cleaned up some variable naming

I've made a few updates to Ejecta.js:

* HTMLElements now have get/setAttribute methods
* Load events can be added or removed via the `.add/removeEventListener` API
* Load event provides a shell event object for script tags
* `.getElementsByTagName` actually searches for the appropriate tagNames
* `.tagName` is now uppercase, like it is in a browser

These changes enable people to use RequireJS if they'd like, the only limitation is they need to re-defined the global require object first before they source the require.js file.

Also, I've noticed a lot of shabby whitespace issues, I could add another commit that fixes all that up if you'd like? I just didn't want carpet bomb the Ejecta.js file in this PR unless it was cool with yah.