Shape Memory Polymers: Fundamentals, Advances and Applications