Add $vpd and make the viewport variables writeable

The first commit just adds the $vpd so it's possible to access all 3 viewport camera values.

The second commit makes $vpr, $vpt, $vpd writeable at top-level. That allows something like
```
$vpd = 500;
$vpr = [ 0, 0, $t * 360 ];
```