Move file opening into the IslandController class

Move file opening code out of the TestFile function and into a controller class. In the
process, add preliminary support for full pathnames.
Use getFaceAtIndex() where applicable
Clean up global application structure

- Remove unnecessary global definitions.
- Remove the window.onload event handler from global scope and place in Application.
- Move the IslandController instance out of Toolbox and into Application.
- Make Application behave like a singleton (i.e., GUI stuff is static).
Fix button behavior

Ensure that the desired behavior for buttons occurs:
- When the mouse is released over a button, the state changes.
- When the mouse is not released over a button, the state does not change.
  (reverts to what it was before the mouse was pressed over it)

Also, disable the annoying click-and-drag behavior of most browsers by
disabling the default mouse down handler.
Add the SimpleTransform class.

The SimpleTransform class provides a way of storing simple transformations
differently from a matrix such that error is reduced; the rotation and
scale are stored as scalar quantities and converted to matrix form as
needed so that the matrix equivalent always has perpendicular and equal-
length transformation vectors.
Add utility classes for loading images.

Add the Texture and ImageDef classes for loading images.
Allow passing extra parameters to event listeners.
Modify how GenerateAddEventListeners works

Rather than look in the this pointer for an array of event listeners,
modify GenerateAddEventListeners to accept a said array as a parameter.
Minor stylistic changes.
Remove empty TODO list.

Doesn't really belong in there, anyway.
Change Island class declaration style
Provide a means of transforming UV islands.
Allow adding event listeners to UV islands.
Remove useless "assert" call.
Material code rewrite.

- Define material keywords in an object, and dynamically populate
  WavefrontMaterial with setters/getters appropriately.
- Define another class, WavefrontMaterialLibrary, to manage multiple
  materials.
- Parse the "mtllib" keyword in .obj files.
Handle failed AJAX requests more gracefully.