overall, looks good.
1) it appears you are using tabs perhaps? (just guessing based on github view). Please use 4 space indents.
2) Small issue: I don't like passing the layer buffer to the map.get_buffered_extent function. I think it would be cleaner to simply calculate the buffered extent in feature_style_processor from the layer, if it layers buffer is set.
Also, next week I will review in more detail. I need to check with @artemp about how to maintain the previous functionality of using a layer buffer to set the clipping extent.
I've submited a new pull request with your suggestions... In a branch (so I can still make some improvements if you need, this time) !
Forget about this pull requet, the newer one is : #1566
closing superseded by #1566