set random colors for sample annotation colors that are not specified

add gradients to legends of sampleAnnotations (for numeric data)

simplify sampleAnnotation code

change sampleAnnotation data to expect an categoryToAnnotationToColor map