Allow sub-classing of SimulatorRuntime

- Move methods form SimulatorSystem to SimulatorRuntime
- Allow users to provide a custom SimulatorRuntime
- Allow sub-classing of TransientMemory
Merge pull request #55 from robertbachmann/simulator_runtime_subclassing

Allow sub-classing of SimulatorRuntime