Initialize widget pointers from cpp file.

I was finding the pointer constructors calls mixed with the data
structure too ugly and confusing to look at, so move these into the
implementation file where the rest of the constructor logic lives.