Add bindings module, tweak render code

Use set_viewer private function in render, add binding functions for core
module