A density gradient approach to topology optimization under design-dependent boundary loading