Add uniform buffer support (ref #174, #23)