changed all fixed-length return values to stack values

Doing some simple benchmarks and looking at the generated assembly
showed there seems to be negligible performance impact in returning
stack values instead of an owned pointer.

This enables code to run without a malloc-implementation which might be
nice for system-level code.

A followup to this is to also add inplace/into-functions for functions
like box::seal.