Implementing Molecular Docking on Python, OpenCL and FPGA