buffer.free: call return_virtio_buffer directly
transmit_packets_to_vm: localize more
net_device: % -> band
allow lib.malloc to take ffi.typeof'd argument, use that inside loops
transmit_packets_to_vm: temporary variable was global
memory is a global module now
memory init: call lib.hardware.bus to set appropriate allocator
new memory.malloc (utilizing either C.malloc or dma_alloc). Use it in lib.malloc
packet: kill packets array, use memory.alloc for packets allocation