Bug 881512 - Remove useless static_casts.
Bug 881512 - Don't mix refcounting with auto ptr use.  Rather than try to hang on to the reader, punch the appropriate holes through via the state machine class.
Bug 881512 - Delay decoder initialization by indicating that we're waiting for subdecoders to be created.
Bug 881512 - Fix bogus indexing of audio/video readers by ditching audio/video reader arrays and using the parent decoder directly.
Bug 881512 - Explicitly initialize ReadMetadata's aTags parameter to null.  Also add some null deref tests.