Merge pull request #25 from ElizabethHudnott/Improve-type-casting,-type-testing,-etc

Moved functions for manipulating types into a new file and revised int()...
Cleanup plugins.js
Remove es5 getter/setter usage in eden.js/plugins.js.

The "internals" object and helper didn't seem to be used enough to justify
having another thing to know about. For now I've removed them and just used
`root.lookup` as we do that everywhere else.
Reduce duplication in plugins.js and docs.
Move plugins/views initialization into Eden constructor.
Fix typos.
Rename active_dialogs to activeDialogs.

It's not massively important, but my aim is to not use underscores in
JS identifiers eventually.
Clean up button.jse.
Update 2ball model for newer js-eden quirks.
Start to cleanup and document maintainer.js.
More jsdoc and fixes for closure compiler.
Remove references to unused files:
canvas.css - controlled font-size, to be fixed in next commit
state-description-maintainer.css - superceded by symbol lookup table

sylvester.js - possibly to be included when needed
Text within canvas is now 1em (matching the jqueryui widget, and therefore the buttons)
All canvas drawn text by the Text function is set as 1em
Move presentation buttons to top
Migrate static Eden methods to instance methods.

These static methods relied on a global `eden` instance, now they are called on
that instance instead.
Split Eden class in two.

* EdenUI which has UI, views and plugin related methods.
* Eden which is just an executor for eden code, separate to UI.
Shorten eden execution tests :D
Remove use strict for now, fix later.
Add error method on Eden and use in models.
includeJS can now load a JSE.