Computational approaches for discovery and optimization of G-quadruplex binders