Use a native input `range` element to populate the plugin instance

So that we can be more semantic and leverage the benefits of the native range input (change event, semantic attributes).

- Update the original input element's value from the plugin on user interaction, which triggers the native change event
  on the field