Recoded VideoMode

Remade VideoMode and setup structure to easily allow seperate
implementations of VideoMode for each platform should I choose to.