Separating rendering logic from config processing logic

Separated rendering logic from config processing logic in a couple of heatmap renderers.

Note that I've included a double minimumValue parameter in both renderToBuffer functions which, I assume, is needed for calculating scaledLevelMinFreq and scaledLevelMaxFreq in the case where minimumValue is not 0. I noticed that this is not currently the way in which these scaled values are being calculated, and I'm wondering if that is a bug (https://github.com/oculusinfo/aperture-tiles/issues/71). If it is, it's probably worth fixing in a different PR (and probably by someone more knowledgable than me), so I undid my attempt to fix it here (hence the "undoing last commit" comment).