Fix implicit construction of units from numbers

For example, you used to be able to pass 180 to matrix::rotate which
would implicitly construct 180_rad. This obviously isn't what the user
intended, so you now need to explicitly specify the unit you mean – in
this case 180_deg.