Refactor renderers

This pull-request is a bit lengthy, but isn't actually too bad.

Things refactored:
- [x] Various, small refactors of the `pattern_generator` class
- [x] Move each pattern generator into its own class
- [x] Update the generate_pattern method to use these new classes
- [x] Remove some duplicated code in the pattern classes (specifically, `tessellation_pattern.rb` and `plaid_pattern.rb`

This also bumps the version to `1.2.2`.
:thumbsup: