LandmarkGroup tojson method and PointGraph

This makes a bunch of changes again.

  - Adds ``Graph``
    - Takes an adjacency matrix, no spatial information
  - Adds ``PointGraph``
    - Combines ``Graph`` with ``PointCloud``
  - Fixes ``from_mask`` on ``TriMesh``
  - ``TriMesh`` can convert to ``PointGraph``
  - Changes ``all`` label for default ``LandmarkGroup`` label to be ``None`` to match ``LandmarkManager``
  - Fixes viewing for ``Trimesh`` and adds viewing for ``PointGraph``
  - Refactors the labelling methods a bit and adds graphs where necessary (this is a bit untested due to lack of good data)
  - Fixes the tongue annotations (they were missing points!)
  - Adds ``tojson`` methods to ``Graph``, ``PointCloud`` and ``LandmarkGroup``

Probably should be tested before being pulled in. In particular, @jalabort needs to check the eye annotation graphs I made.

@jabooth needs to check to the ``tojson`` method as well.