Add the BufferView class in gpu::Resource

BufferView is a "view" on a gpu::Buffer chunk of memory. the View restrict access of the buffer in the range [offset, offset + size] of the buffer memory block
The view also can specify a Element format allowing to access elements in the Buffer View Range through iterators like in a standard stl::vector

A similar TextureView is introduced in this PR, for now it's an empty shell. it should be the same concept as the BufferVIew but on a to be defined gpu::Texture.

Cleaned several constructors for proper copy behavior with gpu::Resource::Sysmem and gpu::Buffer.

Introduce support for UniformBuffer binding signature on gpu::Batch
this is true UBO on windows and linux and for now it's an emulation using uniform vec4 array on Mac.
The slot where to bind the Buffer in "gpu::Batch::setUniformBuffer(Slot, Buffer)" is the ubo binding slot or the actual uniform location of the vec4 array in the case of mac.