Maintain a single png and tcp stream in client

Introducing two new API calls: getPngStream() and getVideoStream().
Multiple calls to these methods return the same objects. The underlying
TcpVideoStream is the same and its lifecylce (connect/reconnect) is
managed by the client.
Added calibrate command to UdpControl and Client, which "asks the drone
to calibrate the magnetometer (must be flying)."