onCameraFrame callback changed to fix #2594, #2593

Proxy pattern used. Frame is represented by abstract CvCameraViewFrame with gray() and rgba() methods, that allow get one of the frames or both of them in the same time from Native Camera and Java Camera in the same way.