WS ioctl protocol, dirty rect tracking, kernel stats
* Replace WS read/write RPC (ws_req_t/ws_resp_t) with ioctl-based
commands (ws_cmd_t + WSIOC_* ioctls), remove response slots, add
separate /dev/wsmgr device for manager event reads
* Add dirty rectangle tracking throughout WM and WS: per-window dirty
regions, WS_EVT_WINDOW_DIRTY with rect merging, FBIOPRESENT_RECT
for partial framebuffer updates, damage-driven compositing loop
* Add kernel stats subsystem (stats.c/stats.h) with atomic counters
for timer IRQ ns, scheduler switches, poll loops, fb present bytes;
expose via /dev/stats
* Dynamically grow WS window array and create devfs slot nodes on
demand; per-window surface caching in WM with dirty-rect pread
refresh, region-clipped rendering
* Extract VFS _resolve_parent_base() and syscall _fd_read/_fd_write
helpers; add ext2 atime policy, optional COM1 IRQ-driven serial RX