Changed init() and update() to virtual functions

Since usable Systems will all be inherited from the base System class,
they probably should be virtual so when they're called by World it'll run
the appropriate init() and update()