Grid renderer and combining more code

This PR includes the group renderer implementation for processing group symbolizer.

I also found that the code between renderers was even more similar than I previously realized. I was able to further combine common portions of code and simplify. For example, the render_thunk and render_thunk_extractor extended classes were almost identical, making the extension and templated extractor type in process_group_symbolizer unnecessary.