Use double for translations

The translate method and all its children use Vector::scale which takes
a double as scale factor.

Translate takes it’s distance as num and breaks on the scale part when
using an int.