Refactors code to prepare for first release
Refactors drawing to support more repeat patterns