Add vertex usage data.

Said data describes which faces use each vertex for each vertex (instead
of the usual "which vertices are used for each face").
Rewrite the Island class.

- Rip out ImageDef. This will likely become the "Texture" class in later commits.
- Remove the "imageFile" member.
- Add methods to find perimeter edge loops.
- Add a constructor with temp code to add an outline of the island to the document.

Also add the FaceIndex class which just encapsulates data to locate a face in
WavefrontMesh.faceGroups.
Fix borked comment.

Not sure where this got messed up, but at some point it did.
Remove superfluous semicolon.
Multiple mesh related fixes.

- Store faces as indicies (using instances of the FaceIndex class) rather than as
  instances of MeshFace (which was the original intention) in MeshFace.vertUsage.
- Texture coordinate indicies are one based, not zero based (like vertex coordinates).
- Push texture coordinates to MeshFace.vertUsage, not vertex coordinates (we have no
  interest in vertex coordinates).
- Add a doxygen comment to MeshFace.verts.
- Skip texture coordinates with a dimensionality other than 2, and log a message.
- Abort parsing a .obj file if no texture coordinates were found when a face is
  found (currently, that would break MeshFace generation.)
Fix commit fbb4b293.

The comment for ToolTip should have been a Doxygen-style comment and not a regular
comment.
Add a method to generate Islands.

- Add privelaged methods WavefrontMesh.getFaceAtIndex() and
  WavefrontMesh.generateIslands(). The former was referenced in an earlier commit (the
  rewrite of Islands), but as island generation was not yet implemented, did not break
  the application.
- Add public member WavefrontMesh.uvIslands, which is an array of generated islands.
- Perform island generation in the constructor.
Fix typo in naming of "texcoords".

Rename to "texCoords".
Change constructor to a method in Island class

The "constructor" code must run after the Island is populated with data.
Remove old/test code.

- Remove pattern definitions for icons that are not used nor will be used.
- Remove the two test islands (for testing movement code).
Begin implementation of a file API.

- Add the FileChooser class for selecting files.
- Add the ForeignObject class which makes creating instances of <foreignObject> easier.
- Add test code for opening files and bind it to the "Open" button.
- Add "xhtml" to the XMLNS object for ForeignObject.