Highlight private macros as function names, too
Highlight modules, records, protocols, impls as types

This is pretty much a copy of
<https://github.com/secondplanet/elixir-mode/commit/878e52f70f13e7476c66b50745039791ada59ec1>,
with the exception that this catches more types of
interfaces/types. Thanks to @carlosmn for the work (-: