Hydrophobic materials and coatings: principles of design, properties and applications