Refactor to only allow RenderDevice allocating in shared pointer.
Refactor to support some layers not updating every frame. And simplified scene manage.