mir: Dynamically load possible mir display validation functions

This sets the stage for properly supporting mixed server/client programs (e.g. the nested server). Mesa dynamically loads possible validation functions for both server and client and tries them out. The old function mir_egl_mesa_display_is_valid is still used as this step to ensure a streamlined transition.

This commit also removes the explicit linking to libmirclient.

Note: this shouldn't be merged until https://code.launchpad.net/~afrantzis/mir/shared-library-global-scope/+merge/173030 gets merged. See the description of that MP for more information about the general plan.