Dialog now uses smart pointers.

The SDL_Surface* upon which fonts are initially rendered is now a
unique_ptr.  When it falls out of scope, the memory will be
automatically freed.