Refactor/remove s3 methods

This PR turns the S3 methods `widget_html`, `widget_dependencies` and `widget_data` into normal functions. Since `widget_data` is used only in the static setting, its signature is unchanged and it still accepts `x`. `widget_dependencies` accepts the `name` of the widget and the `package` it is contained in.

`widget_html` uses the `name` argument to look for a function of the form `name_html`. If it finds one, it uses it to generate the underlying HTML, else defaults to `tags$div`.

I have tested this on a number of widgets I have written, some of which use custom `html`. I also tested it on `iquiz` where I used the idea given by @jcheng5 to generate HTML as character and inject it into the DOM using `renderValue`.

If you can test it with some of the widgets you have played with, and add comments/feedback, we can wrap this PR up and merge.