Remove unused header
Reset data before starting next playback

Originally, VidProcessor will get old state with end-of-stream set,
causing video playback to end immediately.  This commit fixes the issue.
Fix event sync issue with a better workaround

In this commit, you get no (or hopefully less) event assertion error
from wxWidgets, but you sometimes get 1 second delay when performing
actions.

Because we have made the waiting time limited, we no longer need to
manipulate wxWidgets event queue, so all the ignore_draw_event things
are removed.

Other changes are listed below:
* Move semaphore object into event object.
* Add a instance tracker class to track wxCvDrawEvent instances and
  release memory when necessary.