add MappedBuffer

- add MappedBufferIntern which is a DeviceBuffer based on cuda mapped memory
- cleanup all interfaces which hard use DeviceBufferIntern to use the interface of DeviceBuffer
- extend interface of DeviceBuffer

The MappedBuffer is tested and work well but slow^^
This pull request replace #152