Cleaned up and Abstracted GUI interface

Added a level of abstraction for displaying specific fractal widget
options in preparation for generalizing for more fractals.
- TODO: check pointers and memory allocation and references for memory
leaks and check for null pointers.  Needs more cleanup.
- TODO: Sierpinski fractal needs updating to work better with
abstractions added with Mandelbrot fractal.