fix private header generation from template
add templates missing functions
filter on vo support
macro name upper case
context is passed as ptr to filter. a filter can be used before or after vo
add missing FilterContext
add filters for AVOutput, osd and subtitle filter for video renderer
add Statistics which can be used by filters
add new OSD class
filters framework works

TODO: uniform paintEvent, AVThread::run etc
refine scripts code
delete unknown type. reduce some dependencies
fix crash when exit.
remove VideoRenderer::drawXXX(). Use Filter instead
use new OSD filter

TODO: how to control 1 OSD or all OSDs? different shortcuts?
release QPainter in VideoRenderer
use rect in filtercontext instead of qpoint in OSD
initialize Statistics
fix crash if osd is not available when swith osd type
filterContextType, filter opacity. FilterContext in AVThread can be null

TODO:
  do not check FilterContext in public api