- Added Controller::pick_original_shape and Controller::pick_new_shape methods,
  which are used for easier definition of new rules.
- Added Controller::generate_rule_name which generates user friendly rule name.
- Added Controller::cleanup_rules to cleanup all rules which are defined by
  entities that are missing in the model (when eg. some shape is erased).
- Improved Controller::generate_design method, which now exits if
  no rules can be applied anymore.