Single Photon Counting For Ultra-Weak Fluorescence Detection: System Design, Characterization And Application To Dna-Sequencing