Add usercase component test example.
Use enum to seperate state to several enum class.
Refactor State.py changes.
Fix state not refactor issue.
Add NORMAL state for UMLWorkspace.
Add a method that would return a visible size of the UMLComponent.
Add a library for useful static function.
Add remove_selected_blocks virtual method, unselect component when select area do not intersect it.
Select operation are now supported in UMLWorkspace.
Implement its remove_selected_blocks.