Allow more query/train type for ocl::BruteForceMatcher

Current BruteForceMatcher_OCL only supports query/train type of float. This pull request extends more types to be supported including Hamming.