Fix off-by-one error in mapper.py
Split refresh from update

Previous to this commit the data and the UI was refreshed at the same time. If a user typed a key, or resized the window, all of the data queries would be reissued. This would lead to slow refreshes and high cpu usage.

now the data update schedule is separate from the ui refresh schedule.
Fix coord calculations

A few off-by-one errors were plauging the coord calcs in mapper.py. For example, [90,180] would fail to draw anything. This commit changes the lat_long_to_x_y func to better calculate the actual location of a coord. As a result, the compass border was also slightly off, so this commit fixed that as well.
Remove even more magic numbers

Now all of the coords in mapper.py are based off of offsets, widths, and heights. this makes it really easy to translate the UI around inside the term window.