Revert Tilelayer to sprite-based, fix lots o' bugs