menpo/menpo — pull request #396 by jabooth (2014-07-16 10:54:19+00:00)
Title: More efficient initialisations of Menpo types

This PR revisits creation of Menpo types and optimises things a little. In numbers, comparing current master to a merge of this and #395 + removal of `Image.features` (to come):
```python3
%timeit PointCloud(x, copy=False)
5.27 µs -> 1.07 µs

%timeit TriMesh(x, trilist=tl, copy=False)
7.86 µs -> 1.74 µs

%timeit Image(pixels, copy=False)
6.42 µs -> 1.04 µs

%timeit BooleanImage(mask, copy=False)
8.17 µs -> 2.61 µs

%timeit MaskedImage(pixels, mask=mask, copy=False)
17.7 µs -> 7.02 µs
```
Notably, `Image` and `PointCloud` now cost 1µs to instantiate with existing C-contiguous numpy arrays, irrespective of the size of the array. This is a useful yardstick to remember when designing algorithms in Menpo.