A Framework for Shape Optimization in the Context of Isogeometric Analysis