Use smart pointer for the LibX11Exports singleton
Use smart pointer for the LibX11Exports singleton

Currently we use a raw pointer to store the LibX11Exports
for X11 WSI. This triggers LeakSanitizer errors since the
memory allocated from new() is never deleted. We can fix
this by using a unique_ptr instead.

TEST=escher_unittests on linux hosts w/ LSan enabled.

Bug: fuchsia:78410
Change-Id: Ifbe284ce807df0d3da5811bc327a6dc4f2b3a3e7
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/58189
Reviewed-by: Nicolas Capens <51edc787c30f24c4904e8ffbb5523c3a9f7a451d@google.com>
Kokoro-Result: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>
Commit-Queue: Yilong Li <6f787fb9cc44a70f94bc046226ee770d431693ee@google.com>
Tested-by: Yilong Li <6f787fb9cc44a70f94bc046226ee770d431693ee@google.com>

google/swiftshader,google/swiftshader,google/swiftshader