Added validation.
Refactored models and views to separate classes.
Mostly implemented the TileSetEditorView.