Refactor Moov atom to recursive atom, to handle all atom types which are just made up of other atoms.
Add trak atom.
Add mdia atom.
Fix bug where bytesRead was not updated for instance readInt and readLong methods.
Add udta atom.