This makes the code use Common::List for all cases where synchronization can
not be done with tSage::List::synchronise. Furthermore I renamed the custom
List class to SynchronisedList to stress its purpose.
I also removed clear2, contains and forEach and replaced them with algorithm
usage from Common:: or in the case of "contains" replaced them with a simple
inline function which uses Common::find.
Wide screens are broken into 160x100 chunks. When scrolling, sections of the scene which have already been previously decoded for display can be reused, rather than re-decoding them from scratch
I'm still not completely happy with how it's implemented, and the original code is very obtuse when it comes to cursor display; it will likely need further investigation later on so the cursor doesn't appear in cut-scene scenes