fix(input): ngMinlength/ngMaxlength should not invalidate non-stringlike values

A regression reported in #5936 shows that prior to cdc4d485a6daa0c74e5d07d8def2a3ee68d93d13, an
input with an ngMinlength or ngMaxlength validator would not invalidate values where value.length
was undefined.

This patch addresses this by making use of the Infinity global when a value's length property is
undefined.

The behaviour of this validator is still incorrect in the case of objects with a length property
which are not arrays or strings, and will most likely remain that way. This cannot change as it is
possibly desirable to use ngMinlength/ngMaxlength in conjunction with ngList.

Closes #5936
Closes #6000