Wrote the Time system, it is a global interface which isn't great, but it doesn't need to ever be externally modified, so it's thread safe.  Also implemented the observer and subject classes of the observer design pattern for each engine system to get the time each update.  Only one call.

Made some refactoring changes to the classes as well.