GPU core functionality refactoring

Refactored gpu part in core module.

OpenGL API changes:
* Removed ogl::Texture2D support from Input/Output arrays (it doesn't have Mat-like interface).
* Added Stream support to ogl::Buffer.

GPU API changes:
* Added CudaMem support to Input/Output arrays.
* Renamed gpu headers (all headers now starts with gpu_ prefix).
* Refactored GpuMat interface (switch to Input/Output arrays, added Stream support).
* Refactored CudaMem interface (now alloc type can be changed only via constructor).
* Fixed Stream interface (problems with casting to bool).
* Refactored gpu info structures (now DeviceInfo provides full information about device from cudaDeviceProp).
* Added Event class (wrapper for cudaEvent).