An In-Depth Guide to Browser Fingerprinting: What It Is, How it Works, and Impacts on Your Online Privacy