New jQuery interface for access points, with lot of js inside

For #287
This is an enum so you don't have to match on strings - you can explicitly handle every valid case. Always prefer this where possible. i.e. here, use:

```scala
@accessPointType match {
  case AccessPointType.PersonAccess => ...
}

Then you won't have to bother with a `_` case.
```