When using the clipboard to paste or modify the contents of an input
element the specification says says[^1] to
> Queue tasks to fire any events that should fire due to the
> modification, see § 5.3 Integration with other scripts and events for
> details.
This change does that, by turning `handle_text_clipboard_action` into
`TextInput::handle_clipboard_event` and having the caller responsible
for executing events. In addition, when content is changed, the node is
dirtied, forcing a relayout.
[^1]: https://www.w3.org/TR/clipboard-apis/#paste-action
Testing: This is difficult to test because we do not have test harness
support for input events currently. There is a manual test for this in
the linked bug which is now passing.
Fixes: #37074.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>