Computing Layered Surface Representations: An Algorithm for Detecting and Separating Transparent Overlays