Add ACP module and interface

This depends on PR #3 being merged first.

Note: If the acp module looks like a lot, it's not really, it's just that I commented every line :wink: 
I don't really like assigning it to an array, then assigning every element of an array (which is all basically part of a category anyway) to their own variables straight away for the array to never be used again. Seems to be a bit useless and doesn't add much readability (a little) to be honest.