Rewrite mapper drawing code

This commit rewrite's mapper's drawing code to better support resizing terminals. The changes mainly center around the concept of intelligently resizing the various curses pads so that the right content is shown in small terminal windows.