Arrow length

This should be ready to merge.

The `headSize` and `tailSize` fields have been dropped in favor
of `headLength` and `tailLength`, this has several advantages:
- more intuitive
- consistent with gaps
- allows `lengths` traversal which can be used e.g. to make the head and tail 
  the same length so things like the uarrow example work.

We choose the names `headLength` and `tailLength` since they are 
perpendicular to shaft width.

The `missile` head has been removed since it did not have a proper joint,
this would be visible for translucent heads, additionally it does not
allow for the calculation of radius given length. The user can always
achieve similar results by applying a cubic spline to `dart` (which is
what we were doing anyway).

Also the `arrowhead...` functions have been cleaned up and simplified
considerably.