Molecular mechanisms of Streptococcus pyogenes Cas9: a single-molecule perspective