Composition over inheritance

Please have a look at #14 for the rationale behind this choice.

Closes #14 

## Benchmarks:
### String
#### Before (inheritance)

```
                                     user     system      total        real
#initialize                      0.470000   0.000000   0.470000 (  0.471006)
#classify                        2.030000   0.070000   2.100000 (  2.107922)
#underscore                      5.450000   0.240000   5.690000 (  5.706362)
#demodulize                      0.570000   0.000000   0.570000 (  0.577132)
#namespace                       0.610000   0.000000   0.610000 (  0.606817)
#tokenize                       11.100000   0.560000  11.660000 ( 11.696167)
```

#### After (composition)

```
                                     user     system      total        real
#initialize                      0.350000   0.000000   0.350000 (  0.358805)
#classify                        2.660000   0.050000   2.710000 (  2.735694)
#underscore                      6.800000   0.220000   7.020000 (  7.059851)
#demodulize                      1.030000   0.000000   1.030000 (  1.031468)
#namespace                       0.970000   0.000000   0.970000 (  0.973875)
#tokenize                       13.270000   0.600000  13.870000 ( 13.964012)
```