Presenter-view gateway implementation

Created a Gateway class that acts as an in-between for presenters and
views. Also created an abstract presenter and abstract view class that
all views/presenters should extend. For now, these classes just take a
Gateway object in the contractor for internal use.