Some TODO items, in no particular order:

- Use g_signal_emit instead of g_signal_emit_by_name
- Use GDK_EVENT_PROPAGATE/GDK_EVENT_STOP.
- Use G_SOURCE_CONTINUE/G_SOURCE_REMOVE.
- Name all timeout and idle sources
- Replace constructor functions with constructed functions
- Use g_clear_object in dispose/finalize
- Get rid of object references in dispose, not finalize
- embed/ does not make much sense anymore as a name. Rename to
  something else, perhaps core/? webview/?
- Replace GtkAction and GtkUIManager with GAction
- Use GtkBuilder instead of declaring the UIs with C
- Kill EphyNode
- We practically don't test any part of Epiphany, change that (how do
  you test UI code? There's like 3 or 4 frameworks for this, pick one?
  What does Chrome do?)
