Move shared functionality into the SearchAI class
Move shared functionality into the Object class
Add new state enum types
Implement enemy AI
Make player get the gem right away
Fix keyListener still listening after winning or game over
Reduce obstacles to 5%
Make sure all objectives can be reached by player
Make sure all enemies can reach player
Signed-off-by: Chris Cromer <chris@cromer.cl>