Added quality selection framework like hulu

Needed this as some cbs streams were causing crashes. Should help with
buffering issues.
To apply to a site.
- specify a call back method with the quality_mode paramter of add_video
- implement the method returning a list of qualities with labels and
values
- selected quality will be available to the play method in _common.args
- Because this is done from the context menu, nothing is actualy
selected so labels aren't passed directly. Therefoe this needs eting in
the play method and are passed in args.