SmartPoser: Arm Pose Estimation with a Smartphone and Smartwatch Using UWB and IMU Data