How to implement a game engine in JavaScript and build a Tron-style game

This is a tutorial which will guide you through step-by-step on how to create a Tron-style game using pure JavaScript; It is aimed for people who want to have a deeper understanding of the JavaScript language and its dynamics, and want to improve their general sense for object oriented programming.