Added key and focus listener, added a renderer to render things easier, removed the unused timer, and desycnchronized render (reason why JVM kept running after closing)