buttonrebinds: allow rebind eraser button
Becuase when the eraser button is pressed on a stylus, Linux kernel changes the tool type to eraser, and no button pressed events is emitted. So in order to support rebinding eraser button, we treat rebound eraser events as pen events plus tablet button events. When the tool type changes from eraser to its origin type, we emit a rebound button release event. When the eraser leaves proximity, we also emit a rebound button release event. This should mimic a normal pen plus whatever button user rebind to.
This MR doesn't support rebind a normal stylus button to eraser button, though supporting it is just a reverse of this MR.
Because we don't know which button is the eraser button (it's hardcoded in Linux kernel driver), 0
is used as eraser button id to allow us to reuse the send
function.