Surface nanopatterning by colloidal lithography