A Software Toolkit for Building Distributed, Heterogeneous Tangibles