Using maxDecimal converts invalid input to NaN

The `maxDecimalHandler` converts all input to numbers regardless of their type. With an schema entry similar to:
```js
price: {
	type: 'number',
	maxDecimal: 2
}
```

And the input:
```js
{ price: 'abc' }
```

The result after running validation would be (no validation error):
```js
{ price: NaN }
```

This is caused by the call to `parseFloat` without checking the input first.
if (typeof number !== 'number') {
would do it!

(typeof null !== 'number') -> true
(typeof undefined !== 'number') -> true