Digital Coding Metasurfaces: From Theory to Applications