Runtime NilAccessDefect error when `WidgetState` does not have `method view()` implementation
```nim
import owlkettle

viewable App:
  page: string = "page1"

viewable Page1: rootapp: AppState

method view(state: Page1State): Widget = gui: Button(text="click to change to page2"):
  proc clicked = state.rootapp.page = "page2"

viewable Page2: rootapp: AppState

method view(state: Page2): Widget = gui: Label(text="")
#                  ──┬──
#          should be Page2State, but compiles!?

method view(app: AppState): Widget = gui:
  Window:
    case app.page
    of "page1": Page1(rootapp = app)
    of "page2": Page2(rootapp = app)
    else: Label(text="Unreachable!")

brew gui App()
```

This somehow compiles fine (but with a warning):
```
/home/mado/repos/umswitch/test.nim(13, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
```

Maybe somehow the default `view()` method should have like an error message saying `method view(state: Page2State)` is not implemented? This took me some time to figure out what was wrong because there is no traceback until after closing the app:
```
/home/mado/repos/umswitch/test.nim(24) test
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle.nim(178) brew
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/mainloop.nim(114) runMainloop
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/widgetutils.nim(54) eventCallback
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/widgetutils.nim(39) redraw
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/widgetdef.nim(80) redraw
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/widgetdef.nim(53) update
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/widgetdef.nim(557) update
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/widgets.nim(171) updateState
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/widgetutils.nim(120) updateChild
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/widgetutils.nim(92) updateChild
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/widgetdef.nim(53) update
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/widgetdef.nim(553) update
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/widgetdef.nim(52) build
/home/mado/.nimble/pkgs2/owlkettle-3.0.0-2319432a190a50ade29f85b1451099b08e71ab38/owlkettle/widgetdef.nim(473) build
/home/mado/.choosenim/toolchains/nim-#devel/lib/system/chcks.nim(109) assignApp
/home/mado/.choosenim/toolchains/nim-#devel/lib/system/fatal.nim(53) sysFatal
Error: unhandled exception: cannot dispatch; dispatcher is nil [NilAccessDefect]
```