Added the TimeCardListener interface for subscribing to events fired by
a TimeCard instance.  Refactored MainActivity to update its state based
on receiving events via this interface.