Huge performance increase

Made map rendering load to a surface file when it changed and then paint
that every frame instead of rendering all the tiles separately every
frame