Revert "Removing Habitat from the model, Part 1"

This reverts commit 7adfe1a09d9a4953fd3ddea6d7b3a5075a0e8926.
Baby steps on the habitat handling

Removing the notion of a Habitat is not feasible.  Although not
necessarily needed for the model, it does wonders for the UI.

Take steps to hide direct access to Ecosystem.Habitats, and keep track
of <Organism, Point> whenever edited (the new dictionary remove the need
to iterate over every habitat when looking for organisms, and
significantly reduce ecosystem complexity in general.  If used
properly...)