ClearableFileInput now uses template functions for easier customisation

Added a supporting utility function: forms.util.formatToArray()

Closes #19