Merge Board and Ball class in OculusBilliard and billiard projects

They have once branched due to non-common class types for vector and
quaternion among the projects, but we'd like to reuse the same algorithm
for both projects.  Using cpplib::Vec3d and cpplib::Quatd as the basis
and utilizing conditional compiling achieved merging them.