Refactoring, fixed timing of video code

There's still the question of the duplicate tile read, but that is as of now unesolved. At the moment it is just dropped.
Experimenting with records and packages