Initial attempt to simplify block rendering

This brings back the concept of an ISBRH (shortened to IBlockRenderer). At the moment, this PR only handles _in world_ rendering, but it's a start.

Little test implementation can be found here. https://gist.github.com/dmillerw/259926f45fbde0b6c060
Note, as this is rendering you should do renderer = get and a null check instead of two lookup calls.