HP1: a functionally multifaceted protein