Separate the APICamera's picture subscriber

Analogous problem to APIQuadcopter: The listener would call an expired
copy of the camera object.
Use forward declarations for some API classes