import Visibility lib
credit: http://www.redblobgames.com/articles/visibility/