Changed a few tasks
Added parent parameter to GameObject

The parent parameter is the containing parent of an object. So player is
contained in a Map object so that map object is passed in as the
player's parent.

The __init__ method for GameObject also changed so that if the parent
exists (is not None), the new object registers itself with its parent so
the parent can call update/draw on the child.

This replaces the earlier add_objects() method.
Merge branch 'master' of https://github.com/atomictom/WiseGuy