Factor out setting up a new OSD in the MovieLayer

- This will make it easier for adding the rest of the
  OSD layers.
Add an error message OSD layer

- Not being used yet.
Display error OSD messages

- All hooked up to the OSDLayer.
- Untested, as it appears to only be used when using the
  fullscreen navigation which I haven't gotten working
  again yet.
Complete vertical positioning of OSD layers

- Added support for the letter box areas.
- Also added a TODO to ad the nudging up of
  the video position to match the old behavior.
Remove unused setSubtitleSync:atIndex: method

- Not used anywhere.
Remove over-release

- We didn't create the image so we don't own it.
- Found with Xcode static analyzer.
Fix potential NULL dereference

- Although we may now be passing in valid pointers
  it's better to be safe than sorry.
- Found with Xcode's static analyzer.
Fully initialize NSRect before passing as method arg

- Who knows how the receiver might react to some garbage
  values.
- Found with Xcode's static analyzer.
Remove unused stagements

- Found with Xcode's static analyzer.
Fix FFVideoTrack init failure case

- init returns an id not a bool.
- Need to release self on init failure as that's
  the convention (and we're not returning self so
  no one else can).
- Found with Xcode's static analyzer.
Fix memory leak in failure case

- Found by Xcode's static analyzer.
Remove a bunch of TRACE calls

- These are just diagnoistic and not helpful to me
  right now. They're just cluttering up my console
  and obscuring the log messages I'm currently
  interested in.
Abstract OSD layout into its own method

- I'm going to need this for subtitles which will
  be layed out the same way.
Add subtitle to MMovieViewLayer

- Not doing anything with this just yet.
Remove unused variable

- "i" was only ever incremented but it's value never
  read.
Remove our AVPlayer periodic observer on dealloc

- Just to be clean. Don't think it's really needed
  since we're releasing the AVPlayer instance but
  seems like the thing to do.
Remove more TRACE calls

- I don't need to see these right now so they're
  just noise.
Properly handle unknown video class in MMovieView

- When unsetting the movie obviously "nil" isn't going
  to be any class.
Make FFMPEG layer stop auto updates when paused

- No need to waste CPU on a static image.
- Had to make MMovie_FFMPEG's nextImage: method accept
  a NULL timestamp pointer and use that as a signal
  to give us the latest frame.
- Had to make FFVideoTrack understand a timestamp
  of -1 so that it wouldn't get confused.
Remove unused code

- this ifdef'd out code isn't something I see ever
  getting reenabled any time soon. I'm not
  a fan of dead code like this.