esp8266: Add PWM support.

PWM implementation uses a timer and interrupts (FRC1), taken from
Espressif's/NodeMCU's implementation and adapted for our use.

8 channels are supported, on pins 0, 2, 4, 5, 12, 13, 14, 15.

Usage:

    import machine
    pwm0 = machine.PWM(machine.Pin(0))
    pwm0.freq(1000)
    pwm0.duty(500)

Frequency is shared (ie the same) for all channels.  Frequency is
between 1 and 1000.  Duty is between 0 and 1023.
diff --git a/esp8266/esp8266.ld b/esp8266/esp8266.ld
index 8430195..5dbc2ef 100644
--- a/esp8266/esp8266.ld
+++ b/esp8266/esp8266.ld
@@ -131,6 +131,7 @@
         *gchelper.o(.literal* .text*)
         *modpyb.o(.literal*, .text*)
         *modpybpin.o(.literal*, .text*)
+        *modpybpwm.o(.literal*, .text*)
         *modpybrtc.o(.literal*, .text*)
         *modpybadc.o(.literal*, .text*)
         *modpybspi.o(.literal*, .text*)