Feature h264 videostorage

This is now in production on my machine. Still lots to do but have added a few fixes and implemented key parts of the playback interface. It's usable enough for me so I'd urge this would get cleaned up and merged to master for testing lest it sit and fester and become further and further behind.

* Added video playback for timeline and event this uses the currentTime propety and javascript to set the appropriate offset
* Added audio support for the stream written to disk this requires use of the mkv extension so ffmpeg has a compatible container for the typical audio format from a camera
* Fixed PTS/DTS in the event file written to disk the code didn't seem to work correctly before so I've pulled in more code from ffmpeg to handle this. The time offset should be generated from when you first open the stream which is now being done. The offsets seem good to me but obviously needs more review and testing to be certain.
* Set option to open RTSP stream via TCP using ffmpeg code. Default seems to be UDP which causes all sorts of problems. This should at least be an option in ZoneMinder if not the default. There was a method to do this in the URI but I believe it's no longer supported and was far from obvious. If there was a setting it would prompt people to select it and get rid of a potential support problem along the way. Problems encountered with UDP include stream corruption and slow or unconnectable especially via a NAT'd connection. Stream corruption obviously makes motion detection problematic to say the least.

The default web skin/code is missing from this branch for some reason so I will attach that as a separate patch relative to the v1.26.5 tag on master.

Caveats ... the video/mp4 mime type only seems to work via chromium at the moment not sure if firefox will support this somehow or perhaps in the future. Didn't test with any version of msie. Reverse playback is not supported in chromium (or firefox) but there does appear to be a feature request for this. Code linking playback controls to the video object are partially completed. Next/previous events, zooming, gapless playback all don't work but I'm sure they could be fixed quite easily. The same video open in 2 different places in chromium appears to block and causes video to be unresponsive, this may be a bug in chromium, I shut the preview in the timeline down when an event is selected to work around this but its not a full proof solution. Live playback is still only via the existing mechanism didn't seem worth the effort to fix this as it's fine for a preview although obviously you can only get audio via event playback.

It would still be great/useful to build a daemon to cache video on the server and serve up individual frames to one or more client. 

I really hope you'll be able to have another look at this now as it's a very useful alternative to the Jpeg method currently used.