Learning to Detect and Track Visible and Occluded Body Joints in a Virtual World