TileType id was a holdover from a very old file format I used before
serialisation. It was removed as it is no longer required
Refactored code to allowed TileTypes that are stateful. This will allow
the eventual inclusion of Hazards and Breakable Platforms (Also added
stateless tile types for Conveyer Belts).
Added some classes for Hazards, however, nothing is really connected
yet.