Refactor and simplify.
Add Row and Range classes

New classes added to make it easier to avoid overlapping korus.
Lots of changes

- Indexing koru patterns from their leftmost point.
- Added Row methods to avoid overlapping patterns, and patterns overlapping the
  edge of the screen.
- Add support for multiple korus per line.
Merge branch 'devel'