Full refactoring of components.js.
- documentation added
- strict mode
- ScreenComponent class renamed to ExternalComponent
- ExternalComponents have now built-in SimpleComponent management just like screens
- now a CSS file can be specified for the ExternalComponent constructor to grab, no need to put them in index.html for all components statically anymore
- button click handlers now return false to make sure '#' link (top of page) is not followed
- other: the mime type of XMLHTTPRequests grabbing shader sources is now overridden to avoid error messages when the browser tries to parse the XML