Extracted from lindenmayer-systems project; now standalone library