Updated all TileType objects to properly implement equals and hashCode.
This is important for defining template equality, which will become
important for ensuring that if an editor is open for some Template A,
another editor cannot be opened for that same Template.
Added some hooks for adding/editing/removing in the TemplatePalette, but
cannot yet create the new template editor due to odd drawing and sizing
issues.