Takes a lot of fannying around with pistons to merge stuff together, and some creative use of item frames and armor stands. You can create some pretty neat things with stacking stuff.
You can do more, but you need access to those command blocks sadly. I wish they'd expose a way to do it in-game. Simply being able to move armor stands arms would allow for such massive creativity, and hiding the item frames frame whenever it has items in it.