Adding Macro functionality to lirc_web

### Purpose

Adds macro functionality to lirc_web. Macros allow you to define N commands to be run from one HTTP endpoint. This allows you to script multiple IR commands together - such as "Play Xbox360" or "Listen to AirPlay". Each command is sent with a 100msec delay. This gives devices enough time to respond.

### Configuration:

Macros are defined in config.json. See ``example_configs/config.json`` for an example. You'll need to restart lirc_web for any changes in config.json to be picked up.

### UI:

Macros appear as yellow buttons beneath the remote buttons on the home screen of the UI. Tapping the button will tell lirc_web to execute the macro. Tapping it multiple times will execute the macro multiple times.

### API:

A listing of macros is accessible via API from the ``/macros.json`` endpoint.