Duck typing for Camera/Stage

As of !181 (merged) the Camera and Stage are subclassed from a base class. This is potentially unhelpful as it creates a hard dependency. It would be nice to replace this with a protocol that does static duck typing, and an optional base class that saves some implementation effort.

Assignee Loading
Time tracking Loading