Ulrich bundles on projective surfaces