feat(form-validation): allow validation to be respected by ajax-form

Creates a manages an opaque 0x0 text input next to the CE
(in the light DOM).  This delegate mirrors the validity of
the custom element.  When embedded in a form (like ajax-form),
this will ensure an invalid file-input will prevent the form
from being submitted and a visual indication of the invalid
file-input will be displayed (if the browser supports this).
The delegate input also contains a ref to the file-input el
via a customElementRef property.

ref #19
chore(cleanup): tidy up the code
test(validation): validation tests

Also update the docs.

closes #19
chore(release): prepare for 1.1.0 release
ref #19