optimize some methods that call at

Using pointers to work around broken C++ reference support in Cython.
operator[] seems to be completely broken in Cython.

E.g.

>>> a = np.random.randn(10000, 3).astype(np.float32)
>>> p = PointCloud()
>>> p.from_array(a)
>>> %timeit p.to_array()
10000 loops, best of 3: 23.4 µs per loop

Previously 50.8 µs per loop.