Bug fixes to getNeighbourOf() method
  - Only look for neighbours in Input/Output slots.
  - Optimize down to a single prepared statement (not two)
  - Include neighbour's (x, y) coordinates.
Add feature where package members can't be moved left of their left
neighbours, or right of their right neighbours, thereby enforcing a
logical ordering of members in the package.