Built a logic gate simulator using HTML Canvas

The TypeScript patterns that made the biggest difference after moving from JavaScript