winemenubuilder: Don't put the path to the XDG specific desktop file in the registry.

The path can be inferred from the extension.
winemenubuilder: Use a dispatch table to access XDG specific parts.

Also adds a "none" option for dispatch to disable winemenubuilder.

build_desktop_link and build_menu_link was made to have identical
arguments, which is why lastEntry was moved.
winemenubuilder: Extract XDG specific parts to separate file.

Contains no code changes, except to remove static from functions
called in main file from xdg.c
winemenubuilder: Create appbundle dispatch empty shell.
winemenubuilder: If a unix link is a directory, remove it recursively.
winemenubuilder: Basic appbundle with script only.
winemenubuilder: Create a basic Info.plist.

Rename the script winelauncher.
winemenubuilder: Move osx_write_icon to appbundle.c

Stop using it for xdg dispatch.
winemenubuilder: Compute the icon name before calling extract_icon.
winemenubuilder: Put appbundle icon inside the bundle.

Move extract_icon to after the main link creation, and let the
platform link code modify the icon path to be inside the bundle.