For input[type=number] bound value not equal event value
<!--
Thanks for raising an issue! (For *questions*, we recommend instead using https://stackoverflow.com and adding the 'svelte' tag.)

To help us help you, if you've found a bug please consider the following:

* If you can demonstrate the bug using https://svelte.technology/repl, please do.
* If that's not possible, we recommend creating a small repo that illustrates the problem.
* Make sure you include information about the browser, and which version of Svelte you're using

Reproductions should be small, self-contained, correct examples – http://sscce.org.

Occasionally, this won't be possible, and that's fine – we still appreciate you raising the issue. But please understand that Svelte is run by unpaid volunteers in their free time, and issues that follow these instructions will get fixed faster.

If you have a stack trace to include, we recommend putting inside a `<details>` block for the sake of the thread's readability:

<details>
  <summary>Stack trace</summary>

  Stack trace goes here...
</details>
-->

Reproduction of issue in this REPL: https://svelte.technology/repl?version=1.20.2&gist=348577339ab2e03462b1279b38d9975b

This issue occurs when using a bound value and the `on:change` event for an `<input type="number">` element.

* What I did: enter a value in the input element, kill focus by clicking away, clear contents of input element, kill focus by clicking away.
* What happens: the first value shows up as the bound value and the event value as expected, but after clearing the input element and killing focus, the bound value is `0` while the event value is `""`.
* What I expect to happen: when an input element is cleared, the emitted `on:change` event value should allow for the empty string, and not coerce the value to `0`.

For input[type=number] bound value not equal event value
<!--
Thanks for raising an issue! (For *questions*, we recommend instead using https://stackoverflow.com and adding the 'svelte' tag.)

To help us help you, if you've found a bug please consider the following:

* If you can demonstrate the bug using https://svelte.technology/repl, please do.
* If that's not possible, we recommend creating a small repo that illustrates the problem.
* Make sure you include information about the browser, and which version of Svelte you're using

Reproductions should be small, self-contained, correct examples – http://sscce.org.

Occasionally, this won't be possible, and that's fine – we still appreciate you raising the issue. But please understand that Svelte is run by unpaid volunteers in their free time, and issues that follow these instructions will get fixed faster.

If you have a stack trace to include, we recommend putting inside a `<details>` block for the sake of the thread's readability:

<details>
  <summary>Stack trace</summary>

  Stack trace goes here...
</details>
-->

Reproduction of issue in this REPL: https://svelte.technology/repl?version=1.20.2&gist=348577339ab2e03462b1279b38d9975b

This issue occurs when using a bound value and the `on:change` event for an `<input type="number">` element.

* What I did: enter a value in the input element, kill focus by clicking away, clear contents of input element, kill focus by clicking away.
* What happens: the first value shows up as the bound value and the event value as expected, but after clearing the input element and killing focus, the bound value is `0` while the event value is `""`.
* What I expect to happen: when an input element is cleared, the emitted `on:change` event value should allow for the empty string, and not coerce the value to `0`.