Add setStateValidityChecker to MultiPlannerDemo

wrapper function to set state validity checker
Enabled the Obstacle Tab

working on #34 , what's been difficult is deciding where to seperate
the gui and underlaying state space validity checking. 

Originally I was putting polygon code inside of the obstacle gui package
But I think the gui should only contain the information needed to 
create the polygon elsewhere.
A PolygonObstacle base class and a SquareObstacle

SquareObstacle is a PolygonObstacle.

Underlying python polygon object provided from Polygon2 package
Square Obstacle

This currently only works for square obstacles, and it doens't work all
of the time. Investigation is required why it sometimes doesn't work.
more testing with different planner options

Issue #34 still needs work
Added option None in Obstacle tab

and added if statements to catch if obstacle is set
if obstacle has been unset insure it is no longer set by setting to None
State Validity Checker now has a default value

If nothing is passed, the state validity checker gets set to an always
True lambda function. This allows for reseting the obstacle tab back to 
None. It also seems to be working again in all my recent runs?

This closes #34
Merge pull request #40 from mas-group/obstacle

Obstacle tab works most of the time in testing. 

Closes #34