tr '\r' '\n' VideoStream.java
rm trailing whitespace in VideoStream.java
Enable VideoStreams to have multiple NewFrameListeners

Before this change, VideoStream tried to keep track of NewFrameListeners
with a Map keyed by VideoStream. But this is unworkable, because
subsequent addNewFrameListener calls would overwrite previous ones.

After this change, VideoStream keeps a Map keyed by Long for the
primitive video stream handle. The values of the Map are a simple
container that holds a VideoStream and all of that VideoStream's
NewFrameListeners.