Geochart inheritance

Refactored code to support inheritance from a base class. This will
allow us to easily add in functionality to support different views of
the same data. The next check in will support zooming in and viewing
markers on cities.
City Geochart

These changes add a geochart for cities. Next we need to connect the
Geocharts.