Craig Halkett’s goal was the difference at Tynecastle as Hearts extended their lead at the top to six points.