Refactor Scene to be header only, introduce DemoScene class
Allow external libraries as scenes