gl_FrontFacing isn't well supported on some Macintosh / ATI combinations.
Please Note: There is a problem with this implementation when the light cone crosses the near/far camera boundary.