UbiHR: Resource-efficient Long-range Heart Rate Sensing on Ubiquitous Devices