Stricter temperature validation

* Restricts input to digits and `.`
* Sets min and max temperature to 0 and 99.99
* Normalises input to two decimal places, e.g.:
    ```js
    .1042 => 0.10
    9.8 => 9.80
    ```