Added support for non-presence of SyncSampleBox to IsoSampleTableBox.get_random_access_points()

IsoSampleTableBox.get_random_access_points() now uses byte_offset_of_sample()
 to centralize the byte calculation logic. Added box reference caching to
 IsoSampleTableBox to avoid continuous lookups of the child boxes.

The test code now only uses the video track for resolving time references.