Greatly improve level editor. Details:
- Button to enable/disable a 20x12 grid of 50x50 pixels.
- Pressing one of the blocks in the menu will make the selected block follow around your mouse.
- If grid is enabled, the selected block will always be placed in the closest available grid block. If the grid spot is taken, it will be placed to the second closest at that moment.
- The positioning of the selected tiles while having grid enable is always centered; this means that the position of your selected tile will only change if you actually enter the grid block (even by 1 pixel) with your mouse.
- Right clicking on an already placed tile will delete it for good.
- When hovering over a placed tile it will also become slightly transparent, just like when moving around a selected tile.
- Clicking on an already placed tile will 'pick it up' and set it to become your current selected tile as long as there is no selected tile at that moment. Otherwise the click will place that tile on the closest nearby grid spot (if enabled).
- When placing a tile, the transparence of the tile will only start once you moved your cursor away from the newly placed tile. This is to prevent confusion.
- The transparency of an already placed tile that happens when you hover over it with your mouse does not happen if you are currently in the process of placing a new tile.
- Fixed a possible memory leak crash in previous commit.
- I think I forgot some points, but so be it. This is looking good so far. :)

Please note there are a few hacks in this system because we need to figure out a better way to handle several states at once.
Please also note there is one issue I have not managed to solve yet: for whatever reason I can't change a variable in the LevelEditor class from MenuManager class through a function, no matter how I call it.