Fundamentals of Intelligent Reflecting Surfaces