Initial tests.

+ Add `OptionsInterface` and `CaptchaInterface` to support mocking.
+ Change parameter to `AbstractCodeGenerator` from full `RealCaptcha` to `OptionsInterface`.
+ Create test infrastructure.
+ Add tests for `ColourUtilities`, `AlphanumericCodeGenerator` and `MathematicalCodeGenerator`.
Fix error in documentation.
Refactors to support unit testing.

+ Refactor `AbstractLayerRenderer` to accept an `OptionsInterface` implementation to the
  constructor, and a `CaptchaInterface` implementation to the `render()` method.
+ Add missing `implements` clause.
+ Add missing `intval()` conversions.
Refactor methods only used once - merge into calling code.
Fix bug - replace hardcoded (incorrect) value with correct expression.
Merge pull request #7 from leftclickben/InitialTests

Initial tests