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.
Merge pull request #46 from eschnou/refactor_client_getstream

Maintain a single png or tcp stream in client. 
Closes #43