Tip-enhanced Raman spectroscopy: principles and applications