Update Engines with master branch.

**DO NOT MERGE UNTIL ALLOWED!!** :neckbeard: :sweat_drops: :suspect: :boom: :exclamation: 

This Pull Request is created to have a separate page to track the changes diff and code-review.

Currently it contains no up-to-date code.

This is the work on Engines (such as DOM or node.js) which allows to use replace all canvas-related or element-creating code with anything, including no-ops. It helps & saves in running server versions of player and different other stuff.