Update time!
To begin, this has been sitting untouched on my calculator for around 7 months if not more, i never got around to uploading until now
This is officially the final version, unless people create levels and i have the motivation to add them

As well as minor optimizations (scrolling the map should be a bit faster - greyscale is temporarily disabled when you scroll), i added level creation to the game. Although you can not create levels with portals, switches or gates, (placing portals and switches would be to hard to program in from a UI standpoint) you can place mirrors and boxes. You can also expand the level size; although i think past a width/height of 16, graphical oddities start to pop out.
Here are the controls for level editing:
[Y=] - Edit Selected Tile
[Graph] - Edit Selected Tile
[-] - Delete Row
[÷] - Delete Column
[8] - Insert Row Above Cursor
[2] - Insert Row Below Cursor
[4] - Insert Column To The left Of The Cursor
[5] - Insert Column To The Right Of The Cursor
[sto->] - SaveAlso, Doors is now required do to the file size.
Furthermore!; the source code is now released!