Implemented GCD for collision

Note - First attempt in implementing GCD for drawing didn’t really
work, however I don’t really need the drawing to run concurrently with
the main thread so I’ll do that later if I feel like it.