Fixed implementation of passing CameraInfo

Can be used to exchange duplicate image information, timing information
etc. Many code improvements, especially those which bring the ROS and
non-ROS implementations closer together.