Engine: remade script object arrays into Array<T>
Reduced the use of room limit constants where possible

This is yet an intermediate state where I still try to keep savedgames compatible with 3.2.1. This adds some annoying restrictions.
They will go with the new savedgame format which will break forward compatibility once and for all, and give us more freedom.
Common, Engine: corrected interaction arrays
AGS.Native: updated with latest changes to Common
Engine: fixed software renderer
Merge remote-tracking branch 'upstream/develop' into develop