Optical work order: validate prescription widgets.

Some widgets require the value to be multiple of the increment (0.25 or
0.5). Make sure the user cannot insert values that are invalid.

Also update the fields values based on some rules:

For each eye:
- near spherical = distance spherical + addition
- near axis = distance axis
- near cylindrical = distance cylindrical

Besides that, also warn the user if the prescription date of the recipe is
older than one year

Change-Id: I8be16dbafccd785b11c041c85444a6a77daa4788