Issue title: Dot and comma separators are inconsistent in input[type=number]
 Issue body: ### Describe the bug

When typing in a number input, if you use a dot instead of a comma, the value of the input becomes `null` at the point when entering the dot. On the contrary, this behavior is not observed when using a comma.

Example:
`5.` => null
`5,` => 5



### Reproduction

https://svelte.dev/repl/7c4009b0ab974da9a273b30925713503?version=3.50.1

### Logs

_No response_

### System Info

```shell
-
```


### Severity

annoyance
 Comments: 
 Comment 0: I'm seeing entirely different behavior and it's different between Firefox and Chromium. https://stackoverflow.com/questions/13412204/localization-of-input-type-number

Depending on your system locale the behavior you're seeing seems correct though, because a dot would not be a valid character.

Please compare this to vanilla HTML, where you should get an empty string as `value` when typing `5.` in your case. So Svelte is "correct" but uses null to be type-compatible with numbers.
 Comment 1: @Prinzhorn I see your point but when typing `5.1` then the value is correct so Svelte doesn't interpret `.` as an invalid character if there's a digit after the floating point but only when there isn't. 

`5.1` => 5.1
`5,1` => 5.1
 Comment 2: Not what I'm seeing, please specify the browsers you are testing.

For me this is Firefox:

![Screenshot from 2022-09-29 17-28-47](https://user-images.githubusercontent.com/679144/193074240-de39899a-b9d7-4b3c-8cf8-59804c24af00.png)

Chrome won't even let me type `,` because it's invalid. So the problem shouldn't even exist.
 Comment 3: But it might be entirely possible that I cannot reproduce this with my locale. But again, please compare this to vanilla HTML + JS to make sure this is actually a Svelte issue.
 Comment 4: @Prinzhorn 
<img width="399" alt="image" src="https://user-images.githubusercontent.com/6671521/193257838-4ca4b6d7-12df-4433-ac1a-db014e1f35c3.png">

<img width="408" alt="image" src="https://user-images.githubusercontent.com/6671521/193258256-de3b47cc-7e61-457c-851f-d51c28989927.png">


[Updated REPL](https://svelte.dev/repl/7c4009b0ab974da9a273b30925713503?version=3.50.1)
 Comment 5: The above is in Chrome/Brave. In Firefox I observe the opposite behavior - works with a dot but not with a comma.

<img width="495" alt="image" src="https://user-images.githubusercontent.com/6671521/193259488-8e09cb9f-ba84-4c6a-9ccc-014462e0fb57.png">


 Comment 6: Your REPL should use `input` event or else you're always one keystroke behind the actual value (try doing a arrow lef/right and see the value change). For me it behaves identical to vanilla then (with empty string being null)

https://svelte.dev/repl/79a39e6af59e47049dda5916bc037ab5?version=3.50.1
 Comment 7: Not sure what you mean. I want to specifically listen for the `keydown` event and not the `input` one. With `keydown` you're not a keystroke behind - I think you were talking about `keyup`.
 Comment 8: @Prinzhorn sorry, you're absolutely right - my bad 🙏 Keydown is behind, keypress is on time. Switching from `keydown` to `keyup` shows that this is indeed a JavaScript matter and not a Svelte one.

I guess you can close that one. Thanks for your help!

REPL: https://svelte.dev/repl/7c4009b0ab974da9a273b30925713503?version=3.50.1
{'source': 'GithubIssues', 'repo_name_with_owner': 'sveltejs/svelte', 'issue_id': 1390795770, 'repo_stars': 65257.0}