- RuleReplaceOneShape renamed to simply Replace.
- Class replace now accepts multiple shapes to be replaced.
- Method collect_candidate_shapes() moved to Rule class.
- Optimized shape generation for ~100%.
- apply_rule method of Replace class now accepts multiple initial shapes and handles them
  correctly.
- collect_candidate_shapes() method moved to Replace class. It now randomizes search
  and returns only one, appropriate result.
- Updated documentation.