Changes following the code review in #1.

- Fix code style,
- use Numpy arrays and related API more thoroughly and consistently,
- made the neighbours table a cached property,
- change the way bounding boxes are presented in the table.