Germany apologizes for colonial past