<input type='number' value='{{foo}}'> values are coerced

This reinstates the previous behaviour, whereby numeric values were treated as numbers - but it now only applies to number/range inputs, as opposed to all of them. See discussion on #746.