TODO Items:

- Reimplement VorbisPageToPacket so that it derives from CBasePageToPacket

- Add code to allow various packetization schemes. This means adding a mode
  to CBasePageToPacket where it outputs one IHXPacket for each ogg_packet.
  IHXPayloadFormat objects are then used to packetize the IHXPacket stream
  into another IHXPacket stream that complies to a packetization spec

- Fix seeking so that it seeks to the nearest keyframe.

- Fix seeking so that it properly handles pages with a -1 granule position

- Implement chained file support