language changes: ~T -> Box<T>, ~expr -> box expr.

actually, this commit uses this breaking change as a chance to
modernize the API a bit: we no longer return redundant boxes
for most wrapped structs. this results in a slight API change,
thus the version has been bumped.