ass_mp: don't use --subcp for --ass-styles

The --ass-styles option is implemented by calling ass_read_styles().
This function can take a codepage (so libass will use iconv to convert
it). This was implemented before our --subcp option was changed, and
this code was not updated. Now libass fails opening iconv, because
--subcp is not always (and not by default) a valid iconv codepage.

Just always pass NULL, which means the file passed to --ass-styles must
be in UTF-8. The --ass-styles option is a fringe option anyway (and will
destroy your subtitles), so having codepage support for it isn't
important at all.
vo_opengl, cocoa: allow to autoselect a color profile

This commit adds support for automatic selection of color profiles based on
the display where mpv is initialized, and automatically changes the color
profile when display is changed or the profile itself is changed from
System Preferences.

@UliZappe was responsible with the testing and implementation of a lot of this
commit, including the original implementation of `cocoa_get_icc_profile_path`
(See #594).

Fixes #594
vo_corevideo: remove unused variable
gl_lcms: fix build when lcms2 is not available

Was broken in b0ee9334e.
DOCS/encoding: make "What does not work yet" a proper RST section
lua: add mp.unregister_event() function

Someone requested this... I think.
move mp_tags stuff its their own .c/.h files in the common/ directory.
rename add_metadata to the more genera/descriptive mp_tags_copy_items_from_av_dictionary
copy AVFrame metadata into vf_lavfi priv

store it as an mp_tags object and add VFCTRL_GET_METADATA to access it from elsewhere
add vf-metadata property

This is a read-only property that uses VFCTRL_GET_METADATA
to retrieve the the mp_tags from the vf_lavfi priv structure
add autocrop.lua to TOOLS to demonstrate vf-metadata usage